package week3

import (
	"sync"
	"time"
)

/*
"" 与 `` 包裹字符串的区别
解析：
使用 "" 包裹的字符串 会解析 字符串中的 转义符
使用 `` 包裹的字符串 不会解析 字符串中的 转义符

性能：
使用 "" 包裹的字符串 性能 比较慢 到 极慢（由 转义符 和 字符串的长度 决定）
使用 `` 包裹的字符串 性能 极快

说明：
字符串 实际上是 字符数组（学过 其他编程语言 的可能都知道，据我所知 GoLang 的书籍都 没讲过 或 没重点讲）
解析 会 遍历 整一个 字符串 (字符数组)，寻找可以 解析 的 转义符，不管 原先字符串里 有没有 转义符，都会 遍历一次
不解析 则会 直接输出

*/


func T1(){
	ch := make(chan string)
	var wg sync.WaitGroup

	wg.Add(2)

	go func() {
		defer wg.Done()
		ch <- `foo`
	}()

	go func() {
		defer wg.Done()

		time.Sleep(time.Millisecond * 1)
		println("message ", <-ch )
	}()

	wg.Wait()
}
